﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;


[Serializable()]
public abstract class Question : ISerializable
{
    protected int _id;
    private string _subject;
    protected string _text;

    public Question()
    {

    }
    abstract public string getQuestionHtml();
    abstract public string getQuestionWithAnswerHtml();
    abstract public string getQuestionXml();
    abstract public string getQuestionWithAnswerXml();

    public override string ToString()
    {
        return this.getQuestionWithAnswerHtml();
    }

    public int Id
    {
        get { return _id; }
        set { _id = value; }
    }

    protected string Subject
    {
        get { return _subject; }
        set { _subject = value; }
    }

    public string Text
    {
        get { return _text; }
        set { _text = value; }
    }

    abstract public string getCorrectAnswer();

    public Question(SerializationInfo info, StreamingContext ctxt) { }
    public void GetObjectData(SerializationInfo info, StreamingContext ctxt) { }
}
